﻿using System;

using EnvDTE;

namespace Microsoft.WowAddonStudio.Tests.Common.Mocks
{
    public class MockProject : EnvDTE.Project
    {
        private readonly DTE dte;

        public MockProject(DTE dte)
        {
            if (dte == null)
                throw new ArgumentNullException("dte");

            this.dte = dte;
        }

        public void SaveAs(string NewFileName)
        {
            throw new System.NotImplementedException();
        }

        public void Save(string FileName)
        {
            throw new System.NotImplementedException();
        }

        public void Delete()
        {
            throw new System.NotImplementedException();
        }

        public string Name
        {
            get { throw new System.NotImplementedException(); }
            set { throw new System.NotImplementedException(); }
        }

        public string FileName
        {
            get { throw new System.NotImplementedException(); }
        }

        public bool IsDirty
        {
            get { throw new System.NotImplementedException(); }
            set { throw new System.NotImplementedException(); }
        }

        public Projects Collection
        {
            get { throw new System.NotImplementedException(); }
        }

        public DTE DTE
        {
            get { return dte; }
        }

        public string Kind
        {
            get { throw new System.NotImplementedException(); }
        }

        public ProjectItems ProjectItems
        {
            get { throw new System.NotImplementedException(); }
        }

        public Properties Properties
        {
            get { throw new System.NotImplementedException(); }
        }

        public string UniqueName
        {
            get { throw new System.NotImplementedException(); }
        }

        public object Object
        {
            get { throw new System.NotImplementedException(); }
        }

        public object ExtenderNames
        {
            get { throw new System.NotImplementedException(); }
        }

        public string ExtenderCATID
        {
            get { throw new System.NotImplementedException(); }
        }

        public string FullName
        {
            get { throw new System.NotImplementedException(); }
        }

        public bool Saved
        {
            get { throw new System.NotImplementedException(); }
            set { throw new System.NotImplementedException(); }
        }

        public ConfigurationManager ConfigurationManager
        {
            get { throw new System.NotImplementedException(); }
        }

        public Globals Globals
        {
            get { throw new System.NotImplementedException(); }
        }

        public ProjectItem ParentProjectItem
        {
            get { throw new System.NotImplementedException(); }
        }

        public CodeModel CodeModel
        {
            get { throw new System.NotImplementedException(); }
        }

        public object get_Extender(string ExtenderName)
        {
            throw new System.NotImplementedException();
        }
    }
}
